// Promise 是异步编程的一种解决方案，他可以解决回调地狱的问题
// 对读取方法进行封装
const fs = require('fs')

const myReadFile = path => {
  return new Promise((resolve, reject) => {
    // 在第一个promise的then中调用第二个
    fs.readFile(path, 'utf-8', (err, data) => {
      if (err) {
        reject(err)
      } else {
        resolve(data)
      }
    })
  })
}
let a = 'js/ES6/promise测试/a.txt'
let b = 'js/ES6/promise测试/b.txt'
let c = 'js/ES6/promise测试/c.txt'

myReadFile(a)
  .then(a => {
    console.log(a)
    return myReadFile(b)
  })
  .then(b => {
    console.log(b)
    return myReadFile(c)
  })
  .then(c => {
    console.log(c)
  })
  .catch(err => {
    console.log(err)
  })
